package com.letv.core.api;

import android.content.Context;

import com.letv.core.api.UrlConstdata.OFFICIAL_URL;
import com.letv.core.api.UrlConstdata.PUBLIC_PARAMETERS;
import com.letv.core.api.UrlConstdata.TEST_URL;
import com.letv.core.api.UrlConstdata.USE_TICKET;
import com.letv.core.config.LetvConfig;
import com.letv.core.db.PreferencesManager;
import com.letv.core.network.volley.toolbox.ParameterBuilder;
import com.letv.core.utils.LetvUtils;

import org.apache.http.message.BasicNameValuePair;

import java.util.ArrayList;
import java.util.List;

/**
 * 除了媒资以外的url封装
 * 
 * @author zhangjianfang
 * 
 */
public class LetvUrlMaker {

    /**
     * 得到静态头
     * */
    private static String getStaticHead() {
        if (PreferencesManager.getInstance().isTestApi() && LetvConfig.isForTest()) {
            return TEST_URL.STATIC_TEST_BASE_HEAD;
        } else {
            return OFFICIAL_URL.STATIC_APP_BASE_HEAD;
        }
    }

    /**
     * 得到动态地址
     * */
    private static String getDynamicUrl() {
        if (PreferencesManager.getInstance().isTestApi() && LetvConfig.isForTest()) {
            return TEST_URL.DYNAMIC_TEST_BASE_URL;
        } else {
            return OFFICIAL_URL.PAY_DYNAMIC_APP_URL;
        }
    }

//    public static String getAlbumVideoInfoUrl(String aid) {
//        String head = getStaticHead();
//        String end = LetvHttpApiConfig.getStaticEnd();
//
//        ArrayList<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>();
//
//        params.add(new BasicNameValuePair(PUBLIC_PARAMETERS.MOD_KEY, VIDEO_INFO_PARAMETERS.MOD_VALUE));
//        params.add(new BasicNameValuePair(PUBLIC_PARAMETERS.CTL_KEY, "album"));
//        params.add(new BasicNameValuePair(VIDEO_INFO_PARAMETERS.ID_KEY, aid));
//        params.add(new BasicNameValuePair(PUBLIC_PARAMETERS.ACT_KEY, VIDEO_INFO_PARAMETERS.ACT_VALUE));
//        params.add(new BasicNameValuePair(PUBLIC_PARAMETERS.PCODE_KEY, LetvUtils.getPcode()));
//        params.add(new BasicNameValuePair(PUBLIC_PARAMETERS.VERSION_KEY, LetvUtils.getClientVersionName()));
//
//        return ParameterBuilder.getPathUrl(params, head, end);
//    }

    /**
     * 获取使用观影券接口
     * 
     * @return
     */
//    public static String getUseTicketUrl() {
//        String baseUrl = getDynamicUrl();
//
//        List<BasicNameValuePair> list = new ArrayList<BasicNameValuePair>();
//        list.add(new BasicNameValuePair(PUBLIC_PARAMETERS.MOD_KEY, USE_TICKET.MOD_VALUE));
//        list.add(new BasicNameValuePair(PUBLIC_PARAMETERS.CTL_KEY, USE_TICKET.CTL_VALUE));
//        list.add(new BasicNameValuePair(PUBLIC_PARAMETERS.ACT_KEY, USE_TICKET.ACT_VALUE));
//        list.add(new BasicNameValuePair(PUBLIC_PARAMETERS.PCODE_KEY, LetvConfig.getPcode()));
//        list.add(new BasicNameValuePair(PUBLIC_PARAMETERS.VERSION_KEY, LetvUtils.getClientVersionName()));
//
//        return ParameterBuilder.getQueryUrl(list, baseUrl);
//    }

    public static String getUseTicketUrl(Context context) {
        String baseUrl = getDynamicUrl();

        List<BasicNameValuePair> list = new ArrayList<BasicNameValuePair>();
        list.add(new BasicNameValuePair(PUBLIC_PARAMETERS.MOD_KEY, USE_TICKET.MOD_VALUE));
        list.add(new BasicNameValuePair(PUBLIC_PARAMETERS.CTL_KEY, USE_TICKET.CTL_VALUE));
        list.add(new BasicNameValuePair(PUBLIC_PARAMETERS.ACT_KEY, USE_TICKET.ACT_VALUE));
        list.add(new BasicNameValuePair(PUBLIC_PARAMETERS.PCODE_KEY, LetvConfig.getPcode(context)));
        list.add(new BasicNameValuePair(PUBLIC_PARAMETERS.VERSION_KEY, LetvUtils.getClientVersionName(context)));

        return ParameterBuilder.getQueryUrl(list, baseUrl);
    }

}
